前言
昨天的 Day 26,我們學會使用 man 指令查看 Linux 程式的使用手冊,並從手冊中找出正確的參數,成功取得 Flag。
今天的挑戰延續相同的主題,但增加了一個新的練習重點,當手冊裡有大量選項時,如何透過搜尋功能快速找到正確答案?
這次的題目在 challenge 的手冊中放入了許多看起來很像正確答案的選項。如果逐一閱讀,不但花時間,也很容易看得眼花撩亂。
因此,今天要練習的就是 man 的搜尋功能,以及如何根據搜尋結果判斷正確的參數。
題目:Searching Manuals
首先,我們輸入以下指令 man challenge
這個指令會開啟 challenge 的使用手冊。
在手冊的 DESCRIPTION 區塊中,可以看到程式提供了許多不同的選項,例如
從這些內容可以發現,題目刻意安排了許多錯誤選項,而且它們的說明幾乎相同。
如果只靠猜測,根本不知道哪個才是正確答案。因此,我們需要善用手冊內建的搜尋功能。
man 的手冊閱讀介面支援搜尋,可以幫助我們快速定位特定文字。
| 按鍵 | 功能 |
|---|---|
/關鍵字 |
從目前位置往後搜尋 |
?關鍵字 |
從目前位置往前搜尋 |
n |
前往下一個搜尋結果 |
N |
前往上一個搜尋結果 |
↑、↓ |
逐行瀏覽內容 |
q |
離開手冊 |
進入 man challenge 後,我們可以按下 /,輸入 flag 再按 Enter,搜尋手冊中與 flag 有關的文字。
如果目前的搜尋結果不是我們需要的內容,就按 n 繼續往後尋找;若想回到前一個結果,則按 N。
另外,也可以使用 ? 進行反向搜尋。這在手冊內容很多、目前位置又已經往後瀏覽時相當方便。
透過這些操作,就不必從頭到尾逐行閱讀整份手冊。
經過搜尋後,我們終於找到這次挑戰的關鍵說明
這段文字已經明確指出,--boofjbm 就是可以取得 Flag 的正確選項。
因此,我們不需要再嘗試其他參數,也不需要額外提供數字或檔案路徑,直接使用這個選項即可。
確認正確參數後,我們離開手冊,回到終端機執行
成功取得本次挑戰的 Flag。
回顧整個操作流程:
man challenge 開啟手冊。/ 搜尋關鍵字。n 或 N 瀏覽不同的搜尋結果。--boofjbm。/challenge/challenge --boofjbm。這次的關鍵不是記住某個特殊參數,而是知道如何利用文件中的搜尋工具,快速找到需要的資訊。
這兩天都在練習閱讀 man 手冊,但重點稍有不同。
| 比較項目 | Day 26 | Day 27 |
|---|---|---|
| 主要學習內容 | 閱讀手冊、理解參數 | 搜尋手冊、快速定位參數 |
| 使用方式 | 閱讀 DESCRIPTION |
使用 /、n、N 等搜尋功能 |
| 正確參數 | --kiibcd 203 |
--boofjbm |
| 是否需要額外參數值 | 需要,數值為 203 |
不需要額外參數值 |
| 核心能力 | 理解文件 | 有效率地查找文件內容 |
透過這兩天的練習,開始理解,使用 Linux 時不只要知道如何執行指令,也要知道如何查閱文件,以及如何在大量資訊中找到真正有用的內容。
今天的題目讓我更熟悉 man 的搜尋功能。如果只會閱讀手冊,遇到內容比較長的文件時,還是可能需要花費不少時間尋找答案。但學會使用 / 搜尋關鍵字,再搭配 n 和 N 瀏覽結果,就能更有效率地定位相關內容。我認為,對初學者來說,學會查資料的方法和記住指令本身一樣重要。當遇到不熟悉的工具時,只要知道該去哪裡查詢,就能逐步理解它的功能與使用方式,今天最大的收穫,就是學會在大量資訊中快速找到需要的答案,而不是只能依賴猜測。